import nunjucks from 'nunjucks'
// 具名导出
export const regTemplating = function () {
    return async (ctx, next) => {
        // 利用nunjucks的配置方法，返回一个环境实例env,这个环境实例是可以直接调用render函数
        let env = nunjucks.configure('./views', { autoescape: true, noCache: true });

        // 给请求上下文挂载一个render函数，这个函数执行的时候，实际上是执行环境实例env中的渲染函数，将渲染的结果给响应体
        ctx.render = function (view, obj) {
            ctx.body = env.render(view, obj || {});
        }

        // 允许中间件继续
        await next();

    }
}
